package com.plan.service.card;

import com.plan.base.entity.Result;
import com.plan.controller.card.request.BaseReq;
import com.plan.controller.card.request.MyAwardPageListReq;
import com.plan.controller.card.request.SavePrizeDrawResultReq;
import com.plan.controller.card.request.UpdateLotteryRateReq;
import com.plan.controller.card.response.AwardProductListRes;
import com.plan.controller.card.response.PrizeDrawRes;
import com.plan.controller.user.response.UserVO;
import com.plan.entity.card.AwardProduct;
import com.plan.entity.card.PrizeDrawLog;

import java.util.List;

public interface AwardService {
    Result<Long> insert(AwardProduct product);

    Result<Long> update(AwardProduct product);

    void delete(Long teamId, Long productId);

    List<AwardProductListRes> getAwardProductList(Long teamId);

    @Deprecated
    Result<PrizeDrawRes> prizeDraw(BaseReq req, UserVO user);

    Result<Long> updateLotteryRate(UpdateLotteryRateReq req);

    Result<Long> savePrizeDrawResult(SavePrizeDrawResultReq req);

    Result<List<PrizeDrawLog>> myAwardList(MyAwardPageListReq req);
}
